package com.ksyun.campus.metaserver.domain;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.http.HttpStatus;

/**
 * 代表此 API 的返回对象
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ApiResponse<T>{

    /**
     * 代表此 API 的响应返回码
     * 200 表示成功，非 200 表示失败
     */
    private int code;

    // 代表此 API 的响应消息
    private String message;

    // 提示：调整此处 data 类型
    private T data;

//    public ApiResponse(int code, String message) {
//        this.code = code;
//        this.message = message;
//    }
//
//
//    public static <T> ApiResponse<T> success(T data) {
//        return new ApiResponse<T>(HttpStatus.OK.value(), "OK", data);
//    }
//
//    public static <T> ApiResponse<T> success() {
//        return new ApiResponse<T>(HttpStatus.OK.value(), "OK");
//    }
//
//    public static <T> ApiResponse<T> error(String message) {
//        return new ApiResponse<T>(HttpStatus.INTERNAL_SERVER_ERROR.value(), message, null);
//    }
//
//    public static <T> ApiResponse<T> error() {
//        return new ApiResponse<T>(HttpStatus.INTERNAL_SERVER_ERROR.value(), "fail");
//    }
}
